Skip to content

Conversation

@mcgibbon
Copy link
Contributor

@mcgibbon mcgibbon commented Feb 11, 2026

This PR adds features to version the code implementation underlying NoiseConditionedSFNOBuilder, allowing for code changes that break backwards compatibility with checkpoint loading since the previous code versions continue to be used by older checkpoints.

No functionality is changed in this PR. Diffusion-forward-prediction (not downscaling) is made to reference the v1 code, so backwards compatibility will be broken for diffusion checkpoints in a PR soon.

Changes:

  • Moved module builder code in fme/ace/registry/stochastic_sfno to fme/core/models/conditional_sfno so that it can be versioned

  • Moved existing code in fme/core/models/conditional_sfno to both v0 and v1 subdirectories (the implementations in this PR are identical).

  • Added version option to NoiseConditionedSFNOBuilder which can take options v0, v1, or latest. Latest will be updated to the latest stable version (currently v0) when configuration is loaded.

  • Tests added

@mcgibbon
Copy link
Contributor Author

I highly recommend reviewing this PR commit-by-commit. "copy" commits do not modify the copied code. "move" commits only modify the way the moved code is called or imported, not the moved code itself.

@mcgibbon
Copy link
Contributor Author

mcgibbon commented Feb 11, 2026

There are some redundant unit tests after this PR, but I'd wait to delete them until we've definitely updated to v1 / frozen the code for v0. Also this PR will have merge conflicts with the benchmarking (I'll keep the benchmark in the outer conditional_sfno dir, and have it reference the latest version / v1), but don't worry about that in review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant